var http = require('http');
var cheerio = require('cheerio');
var url = "http://www.imooc.com/learn/75";

function filterChapter(html) {
    var $ = cheerio.load(html);
    var chapers = $('.chapter');



    var courseData = [];
    chapers.each(function(item) {
        var chapter = $(this);
        var chapterTitle = chapter.find('strong').text().replace(/\s+/g,' ');
        var videos = chapter.find('.video').children('li');

        var chaperData = {
            chapterTitle: chapterTitle,
            videos: []
        }

        videos.each(function(item) {
            var video = $(this).find('.J-media-item');

            var videoTitle = video.text().replace(/\s+/g,' ');
            var id = $(this).data("media-id");

            chaperData.videos.push({
                title: videoTitle,
                id: id
            })
            courseData.push(chaperData);
        })



    })

    return courseData;

}



function printCourseInfo(courseData) {
    courseData.forEach(function(item) {
        var chapterTitle = item.chapterTitle;
        console.log(chapterTitle + '\n');
        item.videos.forEach(function(video) {
            console.log('[' + video.id + ']' + video.title + '\n');
        })
    })
}

http.get(url, function(res) {
    var html = ''

    res.on('data', function(data) {
        html += data
    })

    res.on('end', function() {
        // console.log(html)

        var courseData = filterChapter(html);
        printCourseInfo(courseData);
    })
}).on('error', function() {
    console.log('error!!!!');
})
